Implantable stimulation devices generate and deliver electrical stimuli to body nerves and tissues for the therapy of various biological disorders, such as pacemakers to treat cardiac arrhythmia, defibrillators to treat cardiac fibrillation, cochlear stimulators to treat deafness, retinal stimulators to treat blindness, muscle stimulators to produce coordinated limb movement, spinal cord stimulators to treat chronic pain, cortical and deep brain stimulators to treat motor and psychological disorders, and other neural stimulators to treat urinary incontinence, sleep apnea, shoulder sublaxation, etc. The present invention may find applicability in all such applications, although the description that follows will generally focus on the use of the invention within a Spinal Cord Stimulation (SCS) system, such as that disclosed in U.S. patent application Ser. No. 11/177,503, filed Jul. 8, 2005, which is incorporated herein by reference in its entirety.
Spinal cord stimulation is a well-accepted clinical method for reducing pain in certain populations of patients. An SCS system typically includes an Implantable Pulse Generator (IPG) or Radio-Frequency (RF) transmitter and receiver, electrodes, at least one electrode lead, and, optionally, at least one electrode lead extension. The electrodes, which reside on a distal end of the electrode lead, are typically implanted along the dura of the spinal cord, and the IPG or RF transmitter generates electrical pulses that are delivered through the electrodes to the nerve fibers within the spinal column. Individual electrode contacts (the “electrodes”) are arranged in a desired pattern and spacing to create an electrode array. Individual wires within one or more electrode leads connect with each electrode in the array. The electrode lead(s) exit the spinal column and generally attach to one or more electrode lead extensions. The electrode lead extensions, in turn, are typically tunneled around the torso of the patient to a subcutaneous pocket where the IPG or RF transceiver is implanted. Alternatively, the electrode lead may directly connect with the IPG or RF transceiver. For examples of other SCS systems and other stimulation systems, see U.S. Pat. Nos. 3,646,940 and 3,822,708, which are hereby incorporated by reference in their entireties. Of course, implantable pulse generators are active devices requiring energy for operation, such as is provided by an implanted battery or an external power source.
FIGS. 1-3 introduce various components of an exemplary SCS system, although further details will be explained more fully later. As particularly relevant to the present discussion, the SCS components comprise implantable components 10 (i.e., components implantable or implanted into a patient requiring therapy) and external components 20 (i.e., components external to the patient but which work in conjunction with the internal components 10). As seen in FIG. 1, the implantable components 10 include an implantable pulse generator (IPG) 100, which may comprise a rechargeable, multi-channel, telemetry-controlled, pulse generator. The external components 20 include a remote control 202, otherwise known as a hand-held programmer (HHP) 202, which may be used to control the IPG 100 via a suitable non-invasive communications link 201, e.g., an RF link. Such control allows the IPG 100 to be turned on or off, and generally allows stimulation parameters, e.g., pulse amplitude, width, and rate, to be set within prescribed limits. Detailed, system-level programming of the IPG 100 may additionally be accomplished through the use of an external clinician's programmer (CP) 204, which may also be hand-held and which may be coupled to the IPG 100 directly via an RF link 201a or indirectly using the HHP 202 as an intermediary. These RF links 201, 201a are preferably two-way links that can be used to send data to (i.e., control) the IPG 100, or to receive data from the IPG 100.
Such RF telemetry between the HHP 202 or CP 204 and the IPG 100 is supported via circuitry in the IPG 100, as shown in FIG. 3. Among other components and circuitry which will be described in further detail later, the IPG 100 comprises RF-telemetry circuitry 172, which receives RF telemetry data from the external components 20 (such as desired IPG operating parameters) and which sends RF telemetry data to the external components 20 (e.g., to allow the IPG 100's operating parameters to be verified, to allow the IPG 100's identification number to be reported, etc.).
In recognition of the fact that the RF telemetry through links 201 and 201a would generally comprise use of a modulated carrier, RF-telemetry circuitry 172 would preferably include demodulator circuitry 262. Exemplary frequency demodulation circuitry useable in an IPG 100, as well as other components of the RF-telemetry circuitry 172, is shown in FIG. 5. What is shown for simplicity is an analog FM demodulation circuit, but one skilled in the art will recognize that it can be implemented digitally as well, and preferably would be implemented digitally in an implantable stimulator application. (In a digital implementation, some of the circuit elements shown would not be used, such as the LC circuit and mixer).
The operation of the demodulation circuitry is known to one skilled in the art, and hence is only briefly described. Essentially, data is sent to the demodulation circuitry (e.g., via RF links 201, 201a) as a sequence of bits represented by a variance in frequency (121 kHz, 129 kHz) from a center carrier frequency (fc=125 kHz). After passing the received signal through a band pass filter to remove frequencies outside of the frequency range of interest, a phase shift (φ) is induced in the received signal via an LC circuit for example, in which the phase shift is a function of the frequency of the received signal. By mixing the phase shifted signal with the original received signal, and sending the result through a low pass filter to remove high-frequency components, a voltage (proportional to ½ cos(φ)) is generated which is compared to a threshold to determine whether the received signal comprised a 121 kHz signal (a logical ‘0’) or a 129 kHz signal (a logical ‘1’). As noted earlier, digital demodulation is logical in an implantable medical device application, and could for example comprise use of the QFAST RF protocol, which supports bi-directional telemetry at, e.g., 8 Kbits/second. (QFAST stands for “Quadrature Fast Acquisition Spread Spectrum Technique,” and represents a known and viable approach for modulating and demodulating data).
It should be obvious that the telemetry between the IPG 100 and the HHP 202, the CP 204, or any other external device, is critical and should occur with the lowest error rates possible. That is to say, when sending bits of information to or from the IPG 100, precautions should be taken to ensure that transmission errors, if they occur, are detected and remedied. This is particularly important for communications sent to IPG 100, which can potentially affect the treatment received by the patient.
In this regard, it has been known in the art of implantable stimulator devices to use error detection algorithms, such as is illustrated in FIG. 6. As shown, data is telemetered to and from the IPG 100 via RF links 201, 201a in the form of blocks 300. The blocks 300 typically comprise in sequence a header 310, a message 320, and an error code 330. The header 310 may include code understood by the receiving device as indicative of the beginning of a block 300, and may include other information such as the length or type of the message 320 to follow, the ID number of the IPG, etc. The message 320 comprises the main data “payload” of the block 300, and can comprise for example the stimulation parameters (e.g. electrode polarity, amplitude, pulse rate, pulse width, etc.) as sent by the HHP 202 to program the IPG 100 (or as reported back from the IPG 100 to the HHP 202 after programming). The message 320 can be a fixed number of bytes, or may be variable in size.
The error code 330 is appended to the end of the block 330 and as its name would suggest is used in determining the possibility of a transmission error. In the example shown in FIG. 6, the error code 330 comprises a Cyclic Redundancy Code (i.e., a CRC) 330. CRCs such as CRC 330 are well known in the art of telemetry, and hence are only briefly explained.
A CRC comprises a remainder of the data (i.e., the hexadecimal number comprising the header 310 plus message 320) when divided by a particular hexadecimal “polynomial” used in accordance with the particular CRC scheme at hand. For example, one such well known CRC polynomial is 0x1021, which denotes the hexadecimal number ‘1021.’ (‘0x’ informs in C programming that the number to follow is a hexadecimal number). Thus, on the sending end of the telemetry, the sending device (e.g., HHP 202) compiles the header 310 and message 320, and divides that data by 0x1021. The remainder of that division comprises the CRC 330. The sending device then appends the CRC 330 to the header 310 and message 320 and sends it to the receiving device as shown.
On the receiving end, the receiving device (e.g., IPG 100) likewise assesses the data (310 and 320) and computes a CRC 330 using the same polynomial. If the CRC 330 does not indicate a match, the receiving device will deduce that a transmission error occurred, e.g., a logic ‘0’ bit was inadvertently received as a ‘1’ bit, etc. In such a circumstance, the receiving device can take an appropriate corrective action, such as discarding the block 300 it received, or better yet requesting the sending device to resend the block in question. In any event, the point is that the CRC 330 comprises a means for assessing potential errors in the telemetry between the sending and receiving devices. Moreover, because of the mathematics involved, the CRC methodology has a low probability for error—meaning that it will flag transmission errors with a low probability of being incorrect (e.g., indicating transmission was not faulty when it actually was).
But CRCs, and other error detection algorithms for that matter, can fail. To cite a simple example, there could be four bits which are erroneously transmitted in the data which effectively cancel each other out in the CRC analysis, with the effect being that the CRCs will match on the sending and receiving ends despite the transmission error (i.e., a false positive).
Although the probabilities of a CRC failure are generally very low, such failure probabilities can be significant in an implantable stimulator device application. In such an application, the effect of an error detection failure can mean that the IPG 100 is not properly programmed, and hence that the patient will not receive the proper therapy as prescribed. Although IPGs typically employ safeguards to ensure that erroneous programming would not injure a patient, improper programming can have significant health consequences. It therefore behooves the designer of such systems to reduce the failure rates of error detection algorithms to the lowest levels possible.
Moreover, error detection algorithms, even when functioning properly, are still not ideal as implemented in the unique context of implantable stimulator devices. In this regard, note that an IPG must ultimately draw power to function and to provide stimulation pulses to the patient in which it is implanted. Regardless of whether an IPG is powered by a non-rechargeable battery, or is powered by a battery rechargeable via an RF energy source (e.g., charger 208, FIG. 1), or is solely powered via an RF energy source, power consumption in an IPG is preferably kept to a minimum. For example, in the case of an IPG with a rechargeable battery, lower power consumption equates to longer periods in which the IPG can be used to provide stimulation between charges.
Error detection algorithms as implemented in implantable stimulator devices are not generally considerate of such power constraints. For example, consider the transmission from an HHP 202 to an IPG 100 of a block 300 having a message 320 which is relatively long—comprising say 100 or more bytes of information. Suppose further that the message 320 as transmitted contains a single bit error, as reflected by the CRC comparison made by the receiving device. In other words, only a single bit out of approximately 800 bits in the block 300 is erroneous. While it is good that such an error has been detected, the reality is that the IPG 100 has had to receive the entirety of the block 300 to make this determination, and to initiate a correction action such as requesting a resend of the block. But receipt of such erroneous data is wasteful of IPG power. Specifically, to initially receive the erroneous block 300, the IPG 100 must power on the RF-telemetry circuitry 172 (FIG. 5) so that the bits in the telemetered block can be deciphered by the demodulation circuitry. The RF telemetry circuitry 172 in the IPG 100 generally draws significant amounts of power, and therefore keeping it powered to receive a long ultimately-erroneous message is, in retrospect, wasteful. It is also regrettable that time is wasted through this procedure, as the IPG 100, or at least the telemetry circuitry, is tied up receiving the long ultimately-erroneous message.
Accordingly, the implantable stimulator art, such as the IPG or SCS system art, would benefit from telemetry techniques for implantable stimulator devices which provide low transmission error rates and which also preferably minimize power consumption in the IPG. Such solutions are provided herein.